//package com.sc.nft.util;
//
//import java.text.ParseException;
//import java.text.SimpleDateFormat;
//import java.util.Calendar;
//import java.util.Date;
//import java.util.HashMap;
//import java.util.Map;
//
//public class DateUtil {
//    public static String YYYY = "yyyy";
//    public static String YYYY_MM = "yyyy-MM";
//    public static String YYYY_MM_DD = "yyyy-MM-dd";
//    public static String YYYY_MM_DD_HH_mm = "yyyy-MM-dd HH:mm";
//    public static String YYYY_MM_DD_HH_mm_ss = "yyyy-MM-dd HH:mm:ss";
//    public static String MM_DD_HH_mm_ss = "MM-dd HH:mm:ss";
//    public static String HH_mm_ss = "HH:mm:ss";
//    public static String mm_ss = "mm:ss";
//    public static String HH_mm = "HH:mm";
//    public static String DD = "dd";
//    public static String mm = "mm";
//    public static String ss = "ss";
//    public static String YYYYMMDD = "yyyyMMdd";
//    public static String YYYYMMDDHH = "yyyyMMddHH";
//    public static String YYYYMMDDHHmm = "yyyyMMddHHmm";
//    public static String YYYYMMDDHHmmss = "yyyyMMddHHmmss";
//    public static String YYYYMMDDHHmmssSSS = "yyyyMMddHHmmssSSS";
//    public static String YYYY_MM_DD_HH_mm_ss_SSS = "yyyy-MM-dd HH:mm:ss:SSS";
//    public static String HHmmssSSS = "HHmmssSSS";
//    public static String SSS = "SSS";
//    public static String YMD_ZH = "yyyy年MM月dd日";
//    public static String YM_ZH = "yyyy年MM月";
//
//    public static String ForDate(Date date, String type) {
//        SimpleDateFormat format = new SimpleDateFormat(type);
//        return format.format(date);
//    }
//
//    public static Date StringToDate(String date, String type) {
//        SimpleDateFormat format = new SimpleDateFormat(type);
//        try {
//            return format.parse(date);
//        } catch (ParseException e) {
//            e.printStackTrace();
//            return null;
//        }
//    }
//
//    public static Long nowDateBetween(Date begin) {
//        long between = (new Date().getTime() - begin.getTime()) / 1000;
//        return between;
//    }
//
//    /**
//     * 判断当前时间是否在[startTime, endTime]区间，注意时间格式要一致
//     *
//     * @return
//     * @author jqlin
//     */
//    public static boolean isEffectiveDate() {
//        String format = "HH:mm:ss";
//        SimpleDateFormat sf = new SimpleDateFormat("HH:mm:ss");
//        String now = sf.format(new Date());
//        Date nowTime = null;
//        Date startTime = null;
//        Date endTime = null;
//        try {
//            nowTime = new SimpleDateFormat(format).parse(now);
//            startTime = new SimpleDateFormat(format).parse("09:00:00");
//            endTime = new SimpleDateFormat(format).parse("21:00:00");
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//
//        if (nowTime.getTime() == startTime.getTime()
//                || nowTime.getTime() == endTime.getTime()) {
//            return true;
//        }
//
//        Calendar date = Calendar.getInstance();
//        date.setTime(nowTime);
//
//        Calendar begin = Calendar.getInstance();
//        begin.setTime(startTime);
//
//        Calendar end = Calendar.getInstance();
//        end.setTime(endTime);
//
//        if (date.after(begin) && date.before(end)) {
//            return true;
//        } else {
//            return false;
//        }
//    }
//
//    public static int DateBetween(Date begin, Date end, String returnType) {
//        long between = (end.getTime() - begin.getTime()) / 1000;
//        long returnDate;
//        if (returnType.equals("day")) {
//            returnDate = between / (24 * 3600);
//        } else if (returnType.equals("hour")) {
//            returnDate = between / 3600;
//        } else if (returnType.equals("minute")) {
//            returnDate = between / 60;
//        } else {
//            returnDate = between;
//        }
//        return Math.abs((int) returnDate);
//    }
//
//
//
//    /**
//     * 判断当前时间是否在[startTime, endTime]区间，注意时间格式要一致
//     *
//     * @return
//     * @author jqlin
//     */
//    public static boolean isEffectiveDateHHmm(String startTimes,String endTimes) {
//        String format = "HH:mm";
//        SimpleDateFormat sf = new SimpleDateFormat("HH:mm");
//        String now = sf.format(new Date());
//        Date nowTime = null;
//        Date startTime = null;
//        Date endTime = null;
//        try {
//            nowTime = new SimpleDateFormat(format).parse(now);
//            startTime = new SimpleDateFormat(format).parse(startTimes);
//            endTime = new SimpleDateFormat(format).parse(endTimes);
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//
//        if (nowTime.getTime() == startTime.getTime()
//                || nowTime.getTime() == endTime.getTime()) {
//            return true;
//        }
//
//        Calendar date = Calendar.getInstance();
//        date.setTime(nowTime);
//
//        Calendar begin = Calendar.getInstance();
//        begin.setTime(startTime);
//
//        Calendar end = Calendar.getInstance();
//        end.setTime(endTime);
//
//        if (date.after(begin) && date.before(end)) {
//            return true;
//        } else {
//            return false;
//        }
//    }
//
//
//
//
//    public static Date getDateAfterOrBefore(Date date, int type, int deff) {
//        Calendar calendar = Calendar.getInstance();
//        calendar.setTime(date);
//        calendar.add(type, deff);
//        return calendar.getTime();
//    }
//
//    // 传入一个时间字符串，计算与今天的时间差，返回时间差，并且做分钟，小时，天，月判断
//    public static Map<String, Object> timeBetweenNow(Date beginDate) {
//        Map<String, Object> map = new HashMap<String, Object>();
//        long time;
//        String timeTag = "";
//        Date nowDate = new Date();
//        long diff = nowDate.getTime() - beginDate.getTime();
//        time = diff / (1000 * 60);
//        if (time > 60) {
//            time = time / 60;
//            if (time > 24) {
//                time = time / 24;
//                if (time > 30) {
//                    time = time / 30;
//                    timeTag = "月";
//                } else {
//                    timeTag = "天";
//                }
//            } else {
//                timeTag = "小时";
//            }
//        } else {
//            timeTag = "分钟";
//        }
//        if (time <= 0) {
//            timeTag = "刚刚";
//            map.put("timeTag", timeTag);
//        } else {
//            map.put("time", time);
//            map.put("timeTag", timeTag);
//        }
//        return map;
//    }
//
//    public static String timeBetweenNowReturnStr(Date beginDate) {
//        Map<String, Object> timeBetweenNow = timeBetweenNow(beginDate);
//        String time_between_now = "";
//        if (timeBetweenNow.get("time") == null) {
//            time_between_now = timeBetweenNow.get("timeTag") + "";
//        } else {
//            time_between_now = timeBetweenNow.get("time") + "" + timeBetweenNow.get("timeTag") + "前";
//        }
//        return time_between_now;
//    }
//
//    public static Date getMonthFirstDay() {
//        return StringToDate(ForDate(new Date(), YYYY_MM) + "-01", YYYY_MM_DD);
//    }
//
//    public static String getNowTimeStamp() {
//        return new Date().getTime() + "";
//    }
//
//
//    /*
//     * 将时间戳转换为时间
//     */
//    public static String stampToDate(String s) {
//        String res;
//        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//        long lt = new Long(s);
//        Date date = new Date(lt);
//        res = simpleDateFormat.format(date);
//        return res;
//    }
//
//
//    public static int daysBetween(Date date1, Date date2) {
//        Calendar cal = Calendar.getInstance();
//        cal.setTime(date1);
//        long time1 = cal.getTimeInMillis();
//        cal.setTime(date2);
//        long time2 = cal.getTimeInMillis();
//        long between_days = (time2 - time1) / (10003600 * 24);
//        return Integer.parseInt(String.valueOf(between_days));
//
//    }
//
//
//    //在一个日期(年月日)  上加减天数
//    public static String getMapDate(Date date, Integer i) {
//        date = StringToDate(ForDate(date, DateUtil.YYYY_MM_DD), DateUtil.YYYY_MM_DD);
//
//        Calendar calendar = Calendar.getInstance();
//        calendar.setTime(date);
//        calendar.add(calendar.DATE, i);
//        String date1 = DateUtil.ForDate(calendar.getTime(), DateUtil.YYYY_MM_DD);
//        return date1;
//    }
//
//    public static Long getMapDateMONTH(Date date, Integer i) {
//        date = StringToDate(ForDate(date, DateUtil.YYYY_MM_DD), DateUtil.YYYY_MM_DD);
//
//        Calendar calendar = Calendar.getInstance();
//        calendar.setTime(date);
//        calendar.set(Calendar.DATE,23);
//        calendar.add(calendar.MONTH, i);
//        Date time = calendar.getTime();
//        long time1 = time.getTime();
////        System.out.println(calendar.getTime());
////        String date1 = DateUtil.ForDate(calendar.getTime(), DateUtil.YYYY_MM_DD);
//        return time1;
//    }
//
//
//    //在一个日期(年月日)  上加减天数
//    public static String getMapDateHHSS(Date date, Integer i) {
//        date = StringToDate(ForDate(date, DateUtil.YYYY_MM_DD_HH_mm_ss), DateUtil.YYYY_MM_DD_HH_mm_ss);
//
//        Calendar calendar = Calendar.getInstance();
//        calendar.setTime(date);
//        calendar.add(calendar.DATE, i);
//        String date1 = DateUtil.ForDate(calendar.getTime(), DateUtil.YYYY_MM_DD_HH_mm_ss);
//        return date1;
//    }
//
//
//    //判断当天是否大于早上9点
//    public static Boolean getS(Date date) {
////格式化时间
//        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//        Date oldDate = null;
//        try {
//            oldDate = format.parse(format.format(date));
//        } catch (ParseException e) {
//            e.printStackTrace();
//        }
//        if (oldDate.getHours() > 9)
//            return true;
//        else
//            return false;
//    }
//
//    /**
//     * 获取现在时间
//     *
//     * @return 返回时间类型 yyyy-MM-dd HH:mm:ss
//     */
//    public static String getNowDate(Date date) {
//        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm");
//        String dateString = formatter.format(date);
//        System.out.println(dateString);
//        return dateString;
//    }
//
//    /**
//     * date2比date1多的天数
//     * @param date1
//     * @param date2
//     * @return
//     */
//    public static int differentDays(Date date1,Date date2)
//    {
//        Calendar cal1 = Calendar.getInstance();
//        cal1.setTime(date1);
//
//        Calendar cal2 = Calendar.getInstance();
//        cal2.setTime(date2);
//        int day1= cal1.get(Calendar.DAY_OF_YEAR);
//        int day2 = cal2.get(Calendar.DAY_OF_YEAR);
//
//        int year1 = cal1.get(Calendar.YEAR);
//        int year2 = cal2.get(Calendar.YEAR);
//        if(year1 != year2)   //同一年
//        {
//            int timeDistance = 0 ;
//            for(int i = year1 ; i < year2 ; i ++)
//            {
//                if(i%4==0 && i%100!=0 || i%400==0)    //闰年
//                {
//                    timeDistance += 366;
//                }
//                else    //不是闰年
//                {
//                    timeDistance += 365;
//                }
//            }
//
//            return timeDistance + (day2-day1) ;
//        }
//        else    //不同年
//        {
//            System.out.println("判断day2 - day1 : " + (day2-day1));
//            return day2-day1;
//        }
//    }
//
//
//    public static String getEndTime(String benginTime,Integer days) throws ParseException {
//        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//            Date parse = sdf.parse(benginTime);
//            Calendar c = Calendar.getInstance();
//            c.setTime(parse);
//            c.add(Calendar.DATE, days);
//            String  endTime=sdf.format(c.getTime());
//            System.out.println("400天后的时间是："+endTime);
//
//
//
//
//        return endTime;
//    }
//
//    public static Date addDay(Date date,Integer day){
//        Calendar cal = Calendar.getInstance();
//        cal.setTime(date);
//        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
//        cal.add(Calendar.DATE,day);
//        return cal.getTime();
//    }
//
//    public static String addDayFormat(Date date, Integer day){
//        Calendar cal = Calendar.getInstance();
//        cal.setTime(date);
//        SimpleDateFormat sdf = new SimpleDateFormat(YMD_ZH);
//        cal.add(Calendar.DATE,day);
//        return sdf.format(cal.getTime());
//    }
//
//
//    //MINUTE
//    public static String addTimeByMinute(Date date, Integer minute){
//        Calendar cal = Calendar.getInstance();
//        cal.setTime(date);
//        cal.add(Calendar.MINUTE,minute);
//        Date time = cal.getTime();
//        SimpleDateFormat sdf = new SimpleDateFormat(YYYY_MM_DD_HH_mm_ss);
//        return sdf.format(time);
//    }
//
//    /**
//     *  获取距离5分钟的倒计时
//     * @param date  开始时间
//     * @param minute 分钟
//     * @return
//     */
//    public static String getCountDownTime(Date date, Integer minute){
//        Calendar cal = Calendar.getInstance();
//        cal.setTime(date);
//        cal.add(Calendar.MINUTE,minute);
//        long timeOut = cal.getTime().getTime();
//        long now = new Date().getTime();
//        long last = timeOut - now ;
////        SimpleDateFormat sdf = new SimpleDateFormat(mm_ss);
////        return sdf.format(last);
//        return String.valueOf(last);
//    }
//
//    public static Long getBefoTimeByMinute(Integer minute){
//        Calendar beforeTime = Calendar.getInstance();
//        SimpleDateFormat simpleDateFormat = new SimpleDateFormat(YYYY_MM_DD_HH_mm_ss);
//
//        String now = simpleDateFormat.format(beforeTime.getTime());
//        long time = beforeTime.getTime().getTime();
//
//
//        beforeTime.add(Calendar.MINUTE, minute);
//        return beforeTime.getTime().getTime();
//    }
//
//    public static void main(String[] args) throws ParseException {
////        Date date = new Date();
////        Date date1 = DateUtil.StringToDate(DateUtil.getMapDateHHSS(date, 400), DateUtil.YYYY_MM_DD_HH_mm_ss);
////        System.out.println(DateUtil.getMapDateHHSS(date, 400));
////        System.out.println(date1);
////
////
////        Long befoTimeByMinute = getBefoTimeByMinute(5);
////        System.out.println(befoTimeByMinute);
//
//
//    }
//
//}